package org.dromara.basedata.domain.vo;

import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.basedata.domain.MaterialInformation;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 材料信息维护视图对象 material_information
 *
 * @author Lion Li
 * @date 2025-06-22
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = MaterialInformation.class)
public class MaterialInformationVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 材料ID
     */
    @ExcelProperty(value = "材料ID")
    private Long id;

    /**
     * 材料名称
     */
    @ExcelProperty(value = "材料名称")
    private String materialName;

    /**
     * 材料编码
     */
    @ExcelProperty(value = "材料编码")
    private String materialCode;

    /**
     * 规格型号
     */
    @ExcelProperty(value = "规格型号")
    private String specificationModel;

    /**
     * 单位
     */
    @ExcelProperty(value = "单位", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "data_product_unit")
    private String unit;

    /**
     * 标准
     */
    @ExcelProperty(value = "标准")
    private String standard;

    /**
     * 是否上传材料图片(0-否,1-是)
     */
    @ExcelProperty(value = "是否上传材料图片(0-否,1-是)", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_yes_no")
    private Long isUploadImage;

    /**
     * 材料图片路径
     */
    @ExcelProperty(value = "材料图片路径")
    private String materialImage;

    /**
     * 材料图片路径Url
     */
    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "materialImage")
    private String materialImageUrl;

}
